1
La naturaleza centrada en memoria del rendimiento de la GPU
AI024Lesson 5
00:00

En la aceleración por GPU, debemos abandonar la mentalidad de "cálculo primero". El rendimiento moderno está dictado por Gestión de memoria: la coordinación de la asignación de datos, sincronización y optimización entre el host (CPU) y el dispositivo (GPU).

1. La disparidad entre memoria y cálculo

Mientras que el rendimiento aritmético de la GPU ($TFLOPS$) ha aumentado exponencialmente, la ancho de banda de memoria ($GB/s$) ha crecido a un ritmo mucho más lento. Esto crea un vacío donde las unidades de ejecución suelen estar "privadas", esperando a que los datos lleguen desde la VRAM. En consecuencia, la programación para GPU suele ser programación de memoria.

2. El modelo Roofline

Este modelo visualiza la relación entre Intensidad aritmética (FLOPs/Byte) y el rendimiento. Las aplicaciones típicamente se clasifican en dos categorías:

  • Limitado por memoria: Limitado por el ancho de banda (la pendiente pronunciada).
  • Limitado por cálculo: Limitado por el máximo TFLOPS (el techo horizontal).
Intensidad aritmética (FLOPs/Byte)Rendimiento (GFLOPS)Limitado por memoriaLimitado por cálculo

3. El impuesto del movimiento de datos

El principal cuello de botella del rendimiento rara vez es el cálculo; es la latencia y el costo energético de mover un byte a través del bus PCIe o desde la HBM. El código de alto rendimiento prioriza la residencia de datos y minimiza las transferencias entre host y dispositivo.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>